﻿using System;

namespace Centido.Core
{
    /// <summary>
    ///   Any operation that can take a lot of time to complete.
    /// </summary>
    public interface ITask
    {
        /// <summary>
        ///   Runs the operation.
        /// </summary>
        void Run();


        /// <summary>
        ///   Occurs when a diagnostic message from the task is received.
        /// </summary>
        event EventHandler<TaskMessageReceivedEventArgs> MessageReceived;
    }
}
